Skip to content

[PWGDQ] Implement DQ Global Track Estimator - #18684

Merged
lucamicheletti93 merged 2 commits into
AliceO2Group:masterfrom
axti98:GlobalTrackEstimator
Nov 11, 2026
Merged

lucamicheletti93 merged 2 commits into
AliceO2Group:masterfrom
axti98:GlobalTrackEstimator

Conversation

@axti98

@axti98 axti98 commented Nov 10, 2026

Copy link
Copy Markdown
Collaborator

This PR implements a task that calculates the number of global tracks from the reduced datasets based on configurable track properties and with track-to-collision association. The default values for the global track definition are taken from https://aliceo2group.github.io/analysis-framework/docs/analysis-tools/TrackSelection.html. The common multiplicity estimator does not allow for this.

The task will later be updated to also calculate the multiplicity in azimuthal regions with respect to a ditrack / dielectron candidate. Also, removing the legs from the multiplicity is planned to be implemented in the future as well as using the Particle Composition Correction from the LF Framework.

The multiplicity is estimated separately and made available in the VarManager, such that introducing event-selection cuts can be applied on that value.

Overview planned implementations in the (near) future:

  • Estimate configurable MC multiplicity with particle composition correction (Exists in LF Framework)
  • Estimate multiplicity in azimuthal regions of a ditrack / dielectron
  • Configure to remove the decay daughters of the multiplicity

@github-actions

github-actions Bot commented Nov 10, 2026 •

Copy link
Copy Markdown

O2 linter results: ❌ 0 errors, ⚠️ 2131 warnings, 🔕 0 disabled

@alibuild

Copy link
Copy Markdown
Collaborator

Error while checking build/O2Physics/code-check for 965575a at 2026-11-10 21:34:

## sw/BUILD/O2Physics-code-check-latest/log
--
========== List of issues found ==========
++ echo 'To reproduce the results below locally, run: '\''aliBuild build O2Physics-code-check -e ALIBUILD_BASE_HASH=upstream/master'\''.'
To reproduce the results below locally, run: 'aliBuild build O2Physics-code-check -e ALIBUILD_BASE_HASH=upstream/master'.
++ echo 'To apply all automatic fixes, add the '\''-e O2PHYSICS_CHECKER_FIX=1'\'' option.'
To apply all automatic fixes, add the '-e O2PHYSICS_CHECKER_FIX=1' option.
++ echo 'See the documentation for more details at: <https://aliceo2group.github.io/analysis-framework/docs/tools/#running-with-o2physics-code-check>.'
See the documentation for more details at: <https://aliceo2group.github.io/analysis-framework/docs/tools/#running-with-o2physics-code-check>.
++ echo 'Found 6 errors and 37 warnings.'
Found 6 errors and 37 warnings.
++ [[ 6 -gt 0 ]]
++ cat /sw/BUILD/ca3cd3b0e13b4fd9f92dd3a6e7acac7f0d0ca357/O2Physics-code-check/errors.txt
PWGDQ/TableProducer/globalTrackEstimator.cxx:19:1: error: included header trackUtilities.h is not used directly [misc-include-cleaner,-warnings-as-errors]
PWGDQ/TableProducer/globalTrackEstimator.cxx:47:61: error: no header providing "o2::aod::TracksDCA" is directly included [misc-include-cleaner,-warnings-as-errors]
PWGDQ/TableProducer/globalTrackEstimator.cxx:50:18: error: no header providing "uint32_t" is directly included [misc-include-cleaner,-warnings-as-errors]
PWGDQ/TableProducer/globalTrackEstimator.cxx:188:24: error: no header providing "int64_t" is directly included [misc-include-cleaner,-warnings-as-errors]
PWGDQ/Tasks/dqEfficiency_withAssoc_direct.cxx:3497:15: error: loop variable is copied but only used as const reference; consider making it a const reference [performance-for-range-copy,-warnings-as-errors]
PWGDQ/Tasks/tableReader_withAssoc.h:833:30: error: do not use reinterpret_cast [cppcoreguidelines-pro-type-reinterpret-cast,-warnings-as-errors]
++ [[ 37 -gt 0 ]]
++ cat /sw/BUILD/ca3cd3b0e13b4fd9f92dd3a6e7acac7f0d0ca357/O2Physics-code-check/warnings.txt
PWGDQ/Core/VarManager.cxx:52:1: warning: do not declare C-style arrays, use 'std::array' instead [modernize-avoid-c-arrays]
PWGDQ/Core/VarManager.cxx:53:1: warning: do not declare C-style arrays, use 'std::array' instead [modernize-avoid-c-arrays]
PWGDQ/Core/VarManager.cxx:55:1: warning: do not declare C-style arrays, use 'std::array' instead [modernize-avoid-c-arrays]
PWGDQ/Core/VarManager.cxx:67:1: warning: do not declare C-style arrays, use 'std::array' instead [modernize-avoid-c-arrays]
PWGDQ/Core/VarManager.cxx:93:28: warning: initializer for base class 'TObject' is redundant [readability-redundant-member-init]
PWGDQ/Core/VarManager.cxx:147:14: warning: do not implicitly decay an array into a pointer; consider using gsl::array_view or an explicit cast instead [cppcoreguidelines-pro-bounds-array-to-pointer-decay]
PWGDQ/Core/VarManager.cxx:309:5: warning: do not use 'else' after 'return' [readability-else-after-return]
PWGDQ/Core/VarManager.cxx:416:14: warning: do not implicitly decay an array into a pointer; consider using gsl::array_view or an explicit cast instead [cppcoreguidelines-pro-bounds-array-to-pointer-decay]
PWGDQ/Core/VarManager.cxx:483:5: warning: do not use 'else' after 'return' [readability-else-after-return]
PWGDQ/Core/VarManager.cxx:3012:14: warning: do not implicitly decay an array into a pointer; consider using gsl::array_view or an explicit cast instead [cppcoreguidelines-pro-bounds-array-to-pointer-decay]
PWGDQ/Core/VarManager.cxx:3022:9: warning: use auto when initializing with a cast to avoid duplicating the type name [modernize-use-auto]
PWGDQ/Core/VarManager.cxx:3023:9: warning: use auto when initializing with a cast to avoid duplicating the type name [modernize-use-auto]
PWGDQ/Core/VarManager.h:1264:10: warning: do not declare C-style arrays, use 'std::array' instead [modernize-avoid-c-arrays]
PWGDQ/Core/VarManager.h:1265:10: warning: do not declare C-style arrays, use 'std::array' instead [modernize-avoid-c-arrays]
PWGDQ/Core/VarManager.h:1650:15: warning: function 'VarManager::SetPhiMap' has a definition with different parameter names [readability-inconsistent-declaration-parameter-name]
PWGDQ/Core/VarManager.h:1681:10: warning: do not declare C-style arrays, use 'std::array' instead [modernize-avoid-c-arrays]
PWGDQ/Core/VarManager.h:1685:10: warning: do not declare C-style arrays, use 'std::array' instead [modernize-avoid-c-arrays]
PWGDQ/Core/VarManager.h:4771:14: warning: do not implicitly decay an array into a pointer; consider using gsl::array_view or an explicit cast instead [cppcoreguidelines-pro-bounds-array-to-pointer-decay]
PWGDQ/Core/VarManager.h:5506:7: warning: do not declare C-style arrays, use 'std::array' instead [modernize-avoid-c-arrays]
PWGDQ/Core/VarManager.h:5509:33: warning: do not implicitly decay an array into a pointer; consider using gsl::array_view or an explicit cast instead [cppcoreguidelines-pro-bounds-array-to-pointer-decay]
PWGDQ/Core/VarManager.h:5510:33: warning: do not implicitly decay an array into a pointer; consider using gsl::array_view or an explicit cast instead [cppcoreguidelines-pro-bounds-array-to-pointer-decay]
PWGDQ/DataModel/ReducedInfoTables.h:548:32: warning: do not use 'else' after 'return' [readability-else-after-return]
PWGDQ/TableProducer/globalTrackEstimator.cxx:58:8: warning: constructor does not initialize these fields: pdg [cppcoreguidelines-pro-type-member-init]
PWGDQ/TableProducer/globalTrackEstimator.cxx:204:30: warning: use 'contains' to check for membership [readability-container-contains]
PWGDQ/TableProducer/globalTrackEstimator.cxx:241:30: warning: use 'contains' to check for membership [readability-container-contains]
PWGDQ/Tasks/dqEfficiency_withAssoc_direct.cxx:3237:8: warning: constructor does not initialize these fields: fCCDB [cppcoreguidelines-pro-type-member-init]
PWGDQ/Tasks/dqEfficiency_withAssoc_direct.cxx:3281:36: warning: initializer for member 'fDileptonCut' is redundant [readability-redundant-member-init]
PWGDQ/Tasks/dqEfficiency_withAssoc_direct.cxx:3314:9: warning: do not use 'else' after 'return' [readability-else-after-return]
[0 more errors; see full log]

Full log here.

@lucamicheletti93
lucamicheletti93 merged commit ebb75e6 into AliceO2Group:master Nov 11, 2026
12 of 14 checks passed
@axti98
axti98 deleted the GlobalTrackEstimator branch November 11, 2026 12:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Development

Successfully merging this pull request may close these issues.

3 participants